iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 13
0

What is Context? 什麼是 Context ?
context 是取得 application/object 的狀態,新建立出來的 object 現在的狀態。一般來使用會呼叫 context 來取得 activity 或 application 的資訊。

或者透過 context 來得到系統提供的服務,像是database 和 preferences 等等。Android App 在 activity時, Context 就是提示現在app 運作的狀態。 Acitvity Object 繼承 Context Object 這讓 Activity 有權限去取得 application 的特定資源和環境資訊。
所大多的使用基礎都是用Context ,Context在 Android 的開發中幾乎無所不在,錯誤的使用容易出現 memory leaks 。

https://ithelp.ithome.com.tw/upload/images/20200926/20130598iQmAPZleVm.png
圖片引至https://spicyboyd.blogspot.com/2018/04/appcontext.html

常見的使用有以下幾種

  • Activity, Application is Context
 ListAdapter adapter = new SimpleCursorAdapter(getApplicationContext(), ...);
 

TextView tv = new TextView(getContext());

context 在 activity 中調用,與 activity 生命週期綁在一起。

  • getSystemService: NotificationManager, Network
NotificationManager manager = (NotificationManager)
            getSystemService(Context.NOTIFICATION_SERVICE);
  • getResource: String, Color, Drawable
getWindow().setTitle(getResources().getText(R.string.main_title));
  • getExternalDir
   Context context = getContext();
    File path = context.getExternalFilesDir(null);
    if (null == path) {
        path = context.getFilesDir();
    }
  • Permission, SharedPreference
Context.getSharedPreferences(name, mode)

reference :https://spicyboyd.blogspot.com/2018/04/appcontext.html
reference :https://jhengjhe.com/2019/02/26/translate-what-is-context


上一篇
<Day12>Activity 在 manifest 可使用屬性
下一篇
<Day 14 >Fragment 使用
系列文
Android App 初學者從零開始用Kotlin寫APP30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言